perm filename ERROR.TRM[CLS,LSP] blob
sn#855379 filedate 1988-03-29 generic text, type C, neo UTF8
COMMENT ā VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 common-lisp-object-system/su
C00004 00003 common-lisp-object-system/su
C00006 00004 ``When situation $S$ occurs, the results are undefined.''
C00008 00005 ``The effect is harmless.''
C00011 ENDMK
Cā;
common-lisp-object-system/su
Proposed Wording Change to the Error Terminology
At the x3j13 meeting this week there was some negative comments
about the definition of ``undefined.'' The following is an attempt
to address those criticisms. The last bullet is the part in question:
****************************************************************************
``When situation $S$ occurs, the results are undefined.''
This terminology has the following meaning:
\beginlist
\item{\bull} If this situation occurs, the results are unpredictable. The
results may range from harmless to fatal.
\item{\bull} No valid program should cause this situation to happen.
\item{\bull} Implementations are allowed to detect this situation and
signal an error, but no implementation is required to detect the
situation.
\item{\bull} No implementation is allowed to extend the semantics of the
\OS\ to this situation; the effects of the situation may be described
or specified by the implementors, but the effects may not be described
as an extension to the \OS\.
\endlist
****************************************************************************
-rpg-
common-lisp-object-system/su
Proposed Wording Change to the Error Terminology (II)
When you read this, take out your chapter 1 and read the rest of the
section on error terminology. The suggestions about using the term
``portable'' as part of the definition of ``undefined'' seem to have been
made under the influence of amnesia regarding the rest of the section.
****************************************************************************
``When situation $S$ occurs, the results are undefined.''
This terminology has the following meaning:
\beginlist
\item{\bull} If this situation occurs, the results are unpredictable. The
results may range from harmless to fatal.
\item{\bull} No valid program should cause this situation to happen.
\item{\bull} Implementations are allowed to detect this situation and
signal an error, but no implementation is required to detect the
situation.
\item{\bull} No implementation is allowed to extend the semantics of the
\OS\ to this situation.
\endlist
****************************************************************************
-rpg-
``When situation $S$ occurs, the results are undefined.''
This terminology has the following meaning:
\beginlist
\item{\bull} If this situation occurs, the results are unpredictable. The
results may range from harmless to fatal.
\item{\bull} Implementations are allowed to detect this situation and
signal an error, but no implementation is required to detect the
situation.
\item{\bull} No valid program may depend on the effects of this
situation, and all valid programs are required to treat the effects
of this situation as unpredictable.
\endlist
``When situation $S$ occurs, the results are unspecified.''
This terminology has the following meaning:
\beginlist
\item{\bull} The effects of this situation are not specified in
the \OS, but the effects are harmless.
\item{\bull} Implementations are allowed to specify the effects of
this situation.
\item{\bull} No portable program can depend on the effects of this
situation, and all portable programs are required to treat the situation
as unpredictable but harmless.
\endlist
``The effect is harmless.''
This terminology has the following meaning:
\beginlist
\item{\bull} The production of a value is harmless when no error is
signaled during its production.
\item{\bull} Any other effect is harmless if no Common Lisp program can be
written that detects whether the effect occurred.
\endlist
``When situation $S$ occurs, the results are undefined.''
This terminology has the following meaning:
\beginlist
\item{\bull} If this situation occurs, the results are unpredictable. The
results may range from harmless to fatal.
\item{\bull} Implementations are allowed to detect this situation and
signal an error, but no implementation is required to detect the
situation.
\item{\bull} No valid program may depend on the effects of this
situation, and all valid programs are required to treat the effects
of this situation as unpredictable.
\endlist
``When situation $S$ occurs, the results are unspecified.''
This terminology has the following meaning:
\beginlist
\item{\bull} The effects of this situation are not specified in
the \OS, but harmless.
\item{\bull} Implementations are allowed to specify the effects of
this situation.
\item{\bull} No portable program can depend on the effects of this
situation, and all portable programs are required to treat the situation
as unpredictable but harmless.
\endlist